#ifndef CHATDIALOG_H
#define CHATDIALOG_H
#include <QDialog>
#include <atomic>

namespace Ui {
class ChatDialog;
}

//聊天窗口类
class ChatDialog : public QDialog
{
    Q_OBJECT

public:
    // 聊天界面的模式
    enum ChatUIMode
    {
        SearchMode, //搜索模式
        ChatMode,   //聊天模式
        ContactMode,//联系模式
    };

    explicit ChatDialog(QWidget *parent = nullptr);
    ~ChatDialog();

    void ShowSearch(bool bSearch);

    // 测试添加聊天用户列表
    void TestAddChatUserList();
private:
    void _SetConnect();

private slots:
    // 加载用户列表
    void slot_loading_chat_user();

private:
    Ui::ChatDialog *ui;
    ChatUIMode _menu_mode; //当前侧边栏选项
    ChatUIMode _state; //当前侧边栏选项的模式
    std::atomic_bool _b_loading;   //是否在加载用户列表
};

#endif // CHATDIALOG_H
